

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Header
#pragma once
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifdef JDEBUG
extern int DebugMode;
#endif
/*
extern int m_SysSound;
extern int m_SendMode;
extern int m_Wap;
extern int m_Mode;
extern int m_API;
*/

extern int m_API;
extern int m_SysSound;
extern int m_SendMode;
extern int m_Wap;
extern int m_SysInfo;
extern int m_OnlyOnce;
extern int m_SmsNotify;
extern int m_SmsFilter;
extern int m_AutoNetFlag;

#define FetionReg L"Software\\Microsoft\\Inbox\\Svc\\Fetion"
void SetReg(LPCTSTR Name, BOOL State,LPCTSTR szPath = FetionReg);
int GetReg(LPCTSTR Name);
bool GetSettingFromReg();
CStr GetProfiles();

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// class SyncSettings
class SyncSettings
{
public:
	TCHAR m_tzProfile[32];
	TCHAR m_tzUsername[32];
	TCHAR m_tzPassword[32];
	int AutoNetTime;

private:
	CeleThunk<HWND> m_tWnd;

public:
	SyncSettings()
	{
		m_tzProfile[0] = 0;
		m_tzUsername[0] = 0;
		m_tzPassword[0] = 0;
		m_AutoNetFlag = 0;
		m_SysSound = 0;
		m_OnlyOnce = 0;

#ifdef JDEBUG
		DebugMode = false;
#endif
	}

	INT_PTR ShowAccountDlg(HWND hParent = GetActiveWindow())
	{
		SHInitExtraControls();
		return DialogBox(g_hInst, MAKEINTRESOURCE(IDD_Account), hParent, (DLGPROC) m_tWnd.Init(this, &SyncSettings::AccountDlgProc));
	}

	BOOL Config(UINT Time);

private:
	INT_PTR CALLBACK AccountDlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
